Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing.plaf.metal
Class MetalTabbedPaneUI

    java.lang.Object
      |
      +--javax.swing.plaf.ComponentUI
            |
            +--javax.swing.plaf.TabbedPaneUI
                  |
                  +--javax.swing.plaf.basic.BasicTabbedPaneUI
                        |
                        +--javax.swing.plaf.metal.MetalTabbedPaneUI

All Implemented Interfaces:
  SwingConstants

public class MetalTabbedPaneUI
extends BasicTabbedPaneUI

The Metal subclass of BasicTabbedPaneUI.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeansTM has been added to the `java.beans` package. Please see `XMLEncoder`.

Nested Class Summary
`class` | `MetalTabbedPaneUI.TabbedPaneLayout` This inner class is marked "public" due to a compiler bug.

Nested classes inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
`BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabSelectionHandler`

Field Summary
`protected int` | `minTabWidth`
`protected Color` | `selectColor`
`protected Color` | `selectHighlight`
`protected Color` | `tabAreaBackground`

Fields inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
`calcRect, contentBorderInsets, darkShadow, downKey, focus, focusListener, highlight, leftKey, lightHighlight, maxTabHeight, maxTabWidth, mouseListener, propertyChangeListener, rects, rightKey, runCount, selectedRun, selectedTabPadInsets, shadow, tabAreaInsets, tabChangeListener, tabInsets, tabPane, tabRunOverlay, tabRuns, textIconGap, upKey`

Fields inherited from interface javax.swing.SwingConstants
`BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

Constructor Summary
`MetalTabbedPaneUI()`

Method Summary
`protected int` | `calculateMaxTabHeight(int tabPlacement)`
`protected LayoutManager` | `createLayoutManager()` Invoked by `installUI` to create a layout manager object to manage the `JTabbedPane`.
`static ComponentUI` | `createUI(JComponent x)` Returns an instance of the UI delegate for the specified component.
`protected Color` | `getColorForGap(int currentRun, int x, int y)`
`protected int` | `getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)` Overridden to do nothing for the Java L&F.
`protected int` | `getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)` Overridden to do nothing for the Java L&F.
`protected int` | `getTabRunOverlay(int tabPlacement)`
`protected void` | `installDefaults()`
`void` | `paint(Graphics g, JComponent c)` Paints the specified component appropriate for the look and feel.
`protected void` | `paintBottomTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)`
`protected void` | `paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)`
`protected void` | `paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)`
`protected void` | `paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)`
`protected void` | `paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)`
`protected void` | `paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)`
`protected void` | `paintHighlightBelowTab()`
`protected void` | `paintLeftTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)`
`protected void` | `paintRightTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)`
`protected void` | `paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)`
`protected void` | `paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)` this function draws the border around each tab note that this function does now draw the background of the tab.
`protected void` | `paintTopTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)`
`protected boolean` | `shouldFillGap(int currentRun, int tabIndex, int x, int y)`
`protected boolean` | `shouldPadTabRun(int tabPlacement, int run)`
`protected boolean` | `shouldRotateTabRuns(int tabPlacement, int selectedRun)`
`void` | `update(Graphics g, JComponent c)` Notifies this UI delegate that it's time to paint the specified component.

Methods inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
`assureRectsCreated, calculateMaxTabWidth, calculateTabAreaHeight, calculateTabAreaWidth, calculateTabHeight, calculateTabWidth, createChangeListener, createFocusListener, createMouseListener, createPropertyChangeListener, expandTabRunsArray, getContentBorderInsets, getFontMetrics, getIconForTab, getMaximumSize, getMinimumSize, getNextTabIndex, getNextTabIndexInRun, getNextTabRun, getPreferredSize, getPreviousTabIndex, getPreviousTabIndexInRun, getPreviousTabRun, getRunForTab, getSelectedTabPadInsets, getTabAreaInsets, getTabBounds, getTabBounds, getTabInsets, getTabRunCount, getTabRunIndent, getTabRunOffset, getTextViewForTab, getVisibleComponent, installComponents, installKeyboardActions, installListeners, installUI, lastTabInRun, layoutLabel, navigateSelectedTab, paintContentBorder, paintIcon, paintTab, paintTabArea, paintText, rotateInsets, selectAdjacentRunTab, selectNextTab, selectNextTabInRun, selectPreviousTab, selectPreviousTabInRun, setVisibleComponent, shouldRotateTabRuns, tabForCoordinate, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI`

Methods inherited from class javax.swing.plaf.ComponentUI
`contains, getAccessibleChild, getAccessibleChildrenCount`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### minTabWidth

    protected int minTabWidth

### tabAreaBackground

    protected Color tabAreaBackground

### selectColor

    protected Color selectColor

### selectHighlight

    protected Color selectHighlight

Constructor Detail

### MetalTabbedPaneUI

    public MetalTabbedPaneUI()

Method Detail

### createUI

    public static ComponentUI createUI(JComponent x)

  Description copied from class: `ComponentUI`
  Returns an instance of the UI delegate for the specified component. Each subclass must provide its own static `createUI` method that returns an instance of that UI delegate subclass. If the UI delegate subclass is stateless, it may return an instance that is shared by multiple components. If the UI delegate is stateful, then it should return a new instance per component. The default implementation of this method throws an error, as it should never be invoked.

### createLayoutManager

    protected LayoutManager createLayoutManager()

  Description copied from class: `BasicTabbedPaneUI`
  Invoked by `installUI` to create a layout manager object to manage the `JTabbedPane`.

  Overrides:
    `createLayoutManager` in class `BasicTabbedPaneUI`
  Returns:
    a layout manager object
  See Also:
    `BasicTabbedPaneUI.TabbedPaneLayout`, `JTabbedPane.getTabLayoutPolicy()`

### installDefaults

    protected void installDefaults()

  Overrides:
    `installDefaults` in class `BasicTabbedPaneUI`

### paintTabBorder

    protected void paintTabBorder(Graphics g,
                                  int tabPlacement,
                                  int tabIndex,
                                  int x,
                                  int y,
                                  int w,
                                  int h,
                                  boolean isSelected)

  Description copied from class: `BasicTabbedPaneUI`
  this function draws the border around each tab note that this function does now draw the background of the tab. that is done elsewhere

  Overrides:
    `paintTabBorder` in class `BasicTabbedPaneUI`

### paintTopTabBorder

    protected void paintTopTabBorder(int tabIndex,
                                     Graphics g,
                                     int x,
                                     int y,
                                     int w,
                                     int h,
                                     int btm,
                                     int rght,
                                     boolean isSelected)

### shouldFillGap

    protected boolean shouldFillGap(int currentRun,
                                    int tabIndex,
                                    int x,
                                    int y)

### getColorForGap

    protected Color getColorForGap(int currentRun,
                                   int x,
                                   int y)

### paintLeftTabBorder

    protected void paintLeftTabBorder(int tabIndex,
                                      Graphics g,
                                      int x,
                                      int y,
                                      int w,
                                      int h,
                                      int btm,
                                      int rght,
                                      boolean isSelected)

### paintBottomTabBorder

    protected void paintBottomTabBorder(int tabIndex,
                                        Graphics g,
                                        int x,
                                        int y,
                                        int w,
                                        int h,
                                        int btm,
                                        int rght,
                                        boolean isSelected)

### paintRightTabBorder

    protected void paintRightTabBorder(int tabIndex,
                                       Graphics g,
                                       int x,
                                       int y,
                                       int w,
                                       int h,
                                       int btm,
                                       int rght,
                                       boolean isSelected)

### update

    public void update(Graphics g,
                       JComponent c)

  Description copied from class: `ComponentUI`
  Notifies this UI delegate that it's time to paint the specified component. This method is invoked by `JComponent` when the specified component is being painted. By default this method will fill the specified component with its background color (if its `opaque` property is `true`) and then immediately call `paint`. In general this method need not be overridden by subclasses; all look-and-feel rendering code should reside in the `paint` method.

  Overrides:
    `update` in class `ComponentUI`
  Parameters:
    `g` - the `Graphics` context in which to paint
    `c` - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
  See Also:
    `ComponentUI.paint(java.awt.Graphics, javax.swing.JComponent)`, `JComponent.paintComponent(java.awt.Graphics)`

### paintTabBackground

    protected void paintTabBackground(Graphics g,
                                      int tabPlacement,
                                      int tabIndex,
                                      int x,
                                      int y,
                                      int w,
                                      int h,
                                      boolean isSelected)

  Overrides:
    `paintTabBackground` in class `BasicTabbedPaneUI`

### getTabLabelShiftX

    protected int getTabLabelShiftX(int tabPlacement,
                                    int tabIndex,
                                    boolean isSelected)

  Overridden to do nothing for the Java L&F.

  Overrides:
    `getTabLabelShiftX` in class `BasicTabbedPaneUI`

### getTabLabelShiftY

    protected int getTabLabelShiftY(int tabPlacement,
                                    int tabIndex,
                                    boolean isSelected)

  Overridden to do nothing for the Java L&F.

  Overrides:
    `getTabLabelShiftY` in class `BasicTabbedPaneUI`

### paint

    public void paint(Graphics g,
                      JComponent c)

  Description copied from class: `ComponentUI`
  Paints the specified component appropriate for the look and feel. This method is invoked from the `ComponentUI.update` method when the specified component is being painted. Subclasses should override this method and use the specified `Graphics` object to render the content of the component.

  Overrides:
    `paint` in class `BasicTabbedPaneUI`
  Parameters:
    `g` - the `Graphics` context in which to paint
    `c` - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
  See Also:
    `ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)`

### paintHighlightBelowTab

    protected void paintHighlightBelowTab()

### paintFocusIndicator

    protected void paintFocusIndicator(Graphics g,
                                       int tabPlacement,
                                       Rectangle[] rects,
                                       int tabIndex,
                                       Rectangle iconRect,
                                       Rectangle textRect,
                                       boolean isSelected)

  Overrides:
    `paintFocusIndicator` in class `BasicTabbedPaneUI`

### paintContentBorderTopEdge

    protected void paintContentBorderTopEdge(Graphics g,
                                             int tabPlacement,
                                             int selectedIndex,
                                             int x,
                                             int y,
                                             int w,
                                             int h)

  Overrides:
    `paintContentBorderTopEdge` in class `BasicTabbedPaneUI`

### paintContentBorderBottomEdge

    protected void paintContentBorderBottomEdge(Graphics g,
                                                int tabPlacement,
                                                int selectedIndex,
                                                int x,
                                                int y,
                                                int w,
                                                int h)

  Overrides:
    `paintContentBorderBottomEdge` in class `BasicTabbedPaneUI`

### paintContentBorderLeftEdge

    protected void paintContentBorderLeftEdge(Graphics g,
                                              int tabPlacement,
                                              int selectedIndex,
                                              int x,
                                              int y,
                                              int w,
                                              int h)

  Overrides:
    `paintContentBorderLeftEdge` in class `BasicTabbedPaneUI`

### paintContentBorderRightEdge

    protected void paintContentBorderRightEdge(Graphics g,
                                               int tabPlacement,
                                               int selectedIndex,
                                               int x,
                                               int y,
                                               int w,
                                               int h)

  Overrides:
    `paintContentBorderRightEdge` in class `BasicTabbedPaneUI`

### calculateMaxTabHeight

    protected int calculateMaxTabHeight(int tabPlacement)

  Overrides:
    `calculateMaxTabHeight` in class `BasicTabbedPaneUI`

### getTabRunOverlay

    protected int getTabRunOverlay(int tabPlacement)

  Overrides:
    `getTabRunOverlay` in class `BasicTabbedPaneUI`

### shouldRotateTabRuns

    protected boolean shouldRotateTabRuns(int tabPlacement,
                                          int selectedRun)

### shouldPadTabRun

    protected boolean shouldPadTabRun(int tabPlacement,
                                      int run)

  Overrides:
    `shouldPadTabRun` in class `BasicTabbedPaneUI`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.